﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace WindowsFormsApplication14
{
    class Zadacha
    {
        int nmb; // Номер задания
        string type, tsk, anwsr, /*hint,*/ vrnt1, vrnt2, vrnt3, vrnt4; // Тип задания, Задание, Ответ, Пояснение

        public int Nmb
        {
            get { return nmb; }
            set { this.nmb = value; }
        }

        public string Type
        {
            get { return type; }
            set { this.type = value; }
        }

        public string Tsk
        {
            get { return tsk; }
            set { this.tsk = value; }
        }

        public string Anwsr
        {
            get { return anwsr; }
            set { this.anwsr = value; }
        }

       

        public string Vrnt1
        {
            get { return vrnt1; }
            set { this.vrnt1 = value; }
        }

        public string Vrnt2
        {
            get { return vrnt2; }
            set { this.vrnt2 = value; }
        }
        public string Vrnt3
        {
            get { return vrnt3; }
            set { this.vrnt3 = value; }
        }
        public string Vrnt4
        {
            get { return vrnt4; }
            set { this.vrnt4 = value; }
        }





        public Zadacha(string Type, int Nmb, string Tsk, string Vrnt1, string Vrnt2, string Vrnt3, string Vrnt4, string Anwsr) // Конструктор объекта "Задача"
        {
            this.nmb = Nmb; // От 1 до 30 для А, от 1 до 8 для В
            //this.hint = Hint; // Пояснение
            this.type = Type; // A,B,C
            this.anwsr = Anwsr; // Ответ
            this.tsk = Tsk; // Текст задания
            this.vrnt1 = Vrnt1;
            this.vrnt2 = Vrnt2;
            this.vrnt3 = Vrnt3;
            this.vrnt4 = Vrnt4;
        }
        public Zadacha()
        {
        }


    }


    class Sort
    {

        public static List<List<Zadacha>> Bank = new List<List<Zadacha>>(); //Список списков. Все задачи разбиты на категории.
        public static List<Zadacha> A = new List<Zadacha>(); //Все задачии

        public void AddTask() //Сортировка по категориям
        {
            var sortedList = A.OrderBy(x => x.Nmb).First();

            for (int j = 0; j < 28; j++) // В части А 27 заданий :)
            {
                Bank.Add(new List<Zadacha>());
            }

            foreach (var item in A)
            {
                    Bank[item.Nmb].Add(item);
            }
            //Form3 go = new Form3();
            //go.TestV1(Bank);
            return;
        }

        public void Read()
        {
            List<string> str = new List<string>();
            using (StreamReader sr = new StreamReader("1.txt"))
            {
                string line;

                while ((line = sr.ReadLine()) != null)
                {
                    str.Add(line);
                }
            }


            for (int l = 0; l < 106; l++)
            {
                Zadacha k = new Zadacha(str[0 + l * 7][7].ToString(), int.Parse(str[0 + l * 7].Substring(8).ToString()), str[1 + l * 7].ToString(), str[2 + l * 7].Substring(1).ToString(), str[3 + l * 7].Substring(1).ToString(), str[4 + l * 7].Substring(1).ToString(), str[5 + l * 7].Substring(1).ToString(), str[6 + l * 7].ToString());
                A.Add(k);
            }

            Sort go = new Sort();
            go.AddTask();

        }

    }
}
